Allen Hoskins
DS7337: Natural Language Processing, Fall 2022
import pandas as pd
import nltk
from nltk.tokenize import word_tokenize
from nltk.chunk import RegexpParser
import requests
from bs4 import BeautifulSoup as bs
import json
from sklearn.feature_extraction.text import TfidfVectorizer
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from wordcloud import WordCloud
import numpy as np
from bs4 import BeautifulSoup
Submit all of your inputs and outputs and your code for this assignment, along with a brief written explanation of your findings.
The easiest way to characterterize the interpretation of the clusters is to produce a word map visualizing the top words within each category.
Within both sets of K-means models (with seperate k's), the clusters are centered around motly key topics or characters/actors within the movie. Movie reivews from action/comdey are centered around terms such as "funny" or "enjoyed" as well as actors within the movie like "Ryan Reynolds."
Since both clustersa utilize the same modeling techinque, it is difficult to determine which is preferred over the other, however utilizing the "elbow method" the higher value of "k" would be preferred. With a larger sample size there should be a value of k that becomes obvious that of which is ideal, but for this exercise, using 60 over 18 provided better clusters for movie reviews.
def return_permalinks(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
a_tags = soup.find_all("a")
permalinks = []
for tag in a_tags:
if tag.get_text() == "Permalink":
permalink = "https://www.imdb.com" + tag.attrs['href']
permalinks.append(permalink)
return permalinks
def return_all_permalinks(dict):
all_permalinks = []
for movie_name, review_page_link in dict.items():
permalinks = return_permalinks(url=review_page_link)
all_permalinks += permalinks
title = ' '.join(movie_name.split("_")).title()
return all_permalinks
review_pages = {'thor:_love_and_thunder':"https://www.imdb.com/title/tt10648342/reviews/?ref_=tt_ql_urv",
"the_lost_city":"https://www.imdb.com/title/tt13320622/reviews/?ref_=tt_ql_urv",
"deadpool_2":"https://www.imdb.com/title/tt5463162/reviews/?ref_=tt_ql_urv",
"deadpool":"https://www.imdb.com/title/tt1431045/reviews/?ref_=tt_ql_urv",
"land_of_the_lost":"https://www.imdb.com/title/tt0457400/reviews/?ref_=tt_ql_urv",
"free_guy":"https://www.imdb.com/title/tt6264654/reviews/?ref_=tt_ql_urv",
"the_suicide_squad":"https://www.imdb.com/title/tt6334354/reviews/?ref_=tt_ql_urv",
"guardians_of_the_galaxy":"https://www.imdb.com/title/tt2015381/reviews/?ref_=tt_ql_urv"}
plinks = return_all_permalinks(dict=review_pages)
def get_reviews(link):
response = requests.get(link)
soup = BeautifulSoup(response.content, "html.parser")
review_texts = []
for s in soup.find_all('script'):
if s.has_attr('type'):
if s.attrs['type'] == "application/ld+json":
tag_json = json.loads(s.get_text())
if "reviewBody" in tag_json.keys():
body = tag_json['reviewBody']
review_texts.append(body)
return review_texts
reviews = [get_reviews(link=url) for url in plinks]
texts = [txt[0] for txt in reviews if len(txt) != 0]
vectorizer = TfidfVectorizer(stop_words={'english'})
X = vectorizer.fit_transform(texts)
print(X.shape)
(163, 4904)
ss_d = []
K = range(10,60)
for k in K:
km = KMeans(n_clusters=k, max_iter=200, n_init=10)
km = km.fit(X)
ss_d.append(km.inertia_)
plt.plot(K, ss_d, '+-')
plt.xlabel('k')
plt.ylabel('Sum_of_squared_distances')
plt.title('Elbow Method For Optimal k')
plt.show()
true_k = 18
model = KMeans(n_clusters=true_k, init='k-means++', max_iter=200, n_init=10)
model.fit(X)
labels=model.labels_
df = pd.DataFrame(list(zip(labels, plinks, texts)), columns=['cluster', 'permalinks','reviews'])
df.sort_values(by='cluster')
| cluster | permalinks | reviews | |
|---|---|---|---|
| 126 | 0 | https://www.imdb.com/review/rw7235565/ | The Suicide Squad (2021) is a movie we saw las... |
| 37 | 0 | https://www.imdb.com/review/rw8091699/ | The makers of this movie are not a stupid as y... |
| 82 | 0 | https://www.imdb.com/review/rw3586681/ | This film actually became a lot more fun when ... |
| 71 | 0 | https://www.imdb.com/review/rw4184836/ | This film tells the story of a man who is diag... |
| 110 | 0 | https://www.imdb.com/review/rw2076017/ | Taika Waititi didn't nail down the villain cha... |
| ... | ... | ... | ... |
| 23 | 16 | https://www.imdb.com/review/rw8524888/ | Bonkers that this film is rated only 6.1 on Im... |
| 21 | 16 | https://www.imdb.com/review/rw8311274/ | The first half of this movie is really funny. ... |
| 147 | 16 | https://www.imdb.com/review/rw7248676/ | The biggest appeal of this movie, well there i... |
| 106 | 16 | https://www.imdb.com/review/rw2677074/ | This movie was much better than I expected. It... |
| 30 | 17 | https://www.imdb.com/review/rw8580474/ | Great line up, but this film tries to hard to ... |
163 rows × 3 columns
for k in range(0,true_k):
s=df[df.cluster==k]
text=s['reviews'].str.cat(sep=' ')
text=text.lower()
text=' '.join([word for word in text.split()])
wordcloud = WordCloud(max_font_size=50, max_words=50,colormap='hsv').generate(text)
print('Cluster: {}'.format(k))
print('IMDB Review Links')
revs=df[df.cluster==k]['permalinks']
print(revs.to_string(index=False))
print('IMDB Review Texts')
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
Cluster: 0 IMDB Review Links https://www.imdb.com/review/rw8351608/ https://www.imdb.com/review/rw8323305/ https://www.imdb.com/review/rw8306334/ https://www.imdb.com/review/rw8136345/ https://www.imdb.com/review/rw8091699/ https://www.imdb.com/review/rw8153642/ https://www.imdb.com/review/rw6454784/ https://www.imdb.com/review/rw4184836/ https://www.imdb.com/review/rw3586681/ https://www.imdb.com/review/rw2076017/ https://www.imdb.com/review/rw2252940/ https://www.imdb.com/review/rw2076025/ https://www.imdb.com/review/rw6720554/ https://www.imdb.com/review/rw2260646/ https://www.imdb.com/review/rw2252934/ https://www.imdb.com/review/rw3018750/ https://www.imdb.com/review/rw7235565/ https://www.imdb.com/review/rw7861137/ https://www.imdb.com/review/rw7226928/ https://www.imdb.com/review/rw7386465/ https://www.imdb.com/review/rw7432411/ https://www.imdb.com/review/rw7336440/ https://www.imdb.com/review/rw7379951/ https://www.imdb.com/review/rw7292882/ https://www.imdb.com/review/rw7564102/ https://www.imdb.com/review/rw7224587/ IMDB Review Texts
Cluster: 1 IMDB Review Links https://www.imdb.com/review/rw8310329/ https://www.imdb.com/review/rw8315692/ https://www.imdb.com/review/rw8318859/ https://www.imdb.com/review/rw8329077/ https://www.imdb.com/review/rw8304194/ https://www.imdb.com/review/rw8525634/ https://www.imdb.com/review/rw8312037/ https://www.imdb.com/review/rw8312102/ https://www.imdb.com/review/rw8304711/ https://www.imdb.com/review/rw7999344/ https://www.imdb.com/review/rw8004095/ https://www.imdb.com/review/rw8093318/ https://www.imdb.com/review/rw8002890/ https://www.imdb.com/review/rw8000197/ https://www.imdb.com/review/rw8007627/ https://www.imdb.com/review/rw8074452/ https://www.imdb.com/review/rw8136793/ https://www.imdb.com/review/rw8010549/ https://www.imdb.com/review/rw8093742/ https://www.imdb.com/review/rw8138680/ https://www.imdb.com/review/rw5733933/ https://www.imdb.com/review/rw6118931/ https://www.imdb.com/review/rw7293764/ https://www.imdb.com/review/rw4695639/ https://www.imdb.com/review/rw5984758/ https://www.imdb.com/review/rw6570383/ https://www.imdb.com/review/rw4297422/ https://www.imdb.com/review/rw4379195/ https://www.imdb.com/review/rw7323151/ https://www.imdb.com/review/rw3413536/ https://www.imdb.com/review/rw4150748/ https://www.imdb.com/review/rw3415632/ https://www.imdb.com/review/rw7293763/ https://www.imdb.com/review/rw3551439/ https://www.imdb.com/review/rw3416540/ https://www.imdb.com/review/rw5346447/ https://www.imdb.com/review/rw3740393/ https://www.imdb.com/review/rw3308901/ https://www.imdb.com/review/rw5084366/ https://www.imdb.com/review/rw7400811/ https://www.imdb.com/review/rw7234711/ https://www.imdb.com/review/rw7558618/ https://www.imdb.com/review/rw7237213/ https://www.imdb.com/review/rw7207923/ IMDB Review Texts
Cluster: 2 IMDB Review Links https://www.imdb.com/review/rw8315634/ https://www.imdb.com/review/rw7268762/ https://www.imdb.com/review/rw7218212/ https://www.imdb.com/review/rw7233503/ https://www.imdb.com/review/rw8011549/ https://www.imdb.com/review/rw7200780/ https://www.imdb.com/review/rw7174916/ https://www.imdb.com/review/rw7204092/ https://www.imdb.com/review/rw7262327/ https://www.imdb.com/review/rw7230542/ https://www.imdb.com/review/rw7258075/ IMDB Review Texts
Cluster: 3 IMDB Review Links https://www.imdb.com/review/rw8313357/ https://www.imdb.com/review/rw8310746/ https://www.imdb.com/review/rw8331400/ https://www.imdb.com/review/rw8608885/ https://www.imdb.com/review/rw8014072/ https://www.imdb.com/review/rw8009712/ https://www.imdb.com/review/rw7999963/ https://www.imdb.com/review/rw4624413/ https://www.imdb.com/review/rw3708156/ https://www.imdb.com/review/rw7264188/ https://www.imdb.com/review/rw7240092/ https://www.imdb.com/review/rw7399273/ https://www.imdb.com/review/rw7636810/ https://www.imdb.com/review/rw7562236/ https://www.imdb.com/review/rw7227994/ IMDB Review Texts
Cluster: 4 IMDB Review Links https://www.imdb.com/review/rw8314433/ https://www.imdb.com/review/rw8146008/ https://www.imdb.com/review/rw4602468/ https://www.imdb.com/review/rw6981276/ https://www.imdb.com/review/rw4174623/ https://www.imdb.com/review/rw4855093/ https://www.imdb.com/review/rw6971097/ https://www.imdb.com/review/rw8516528/ https://www.imdb.com/review/rw8314382/ https://www.imdb.com/review/rw7158230/ https://www.imdb.com/review/rw4209571/ https://www.imdb.com/review/rw4182610/ https://www.imdb.com/review/rw6923557/ https://www.imdb.com/review/rw4064836/ https://www.imdb.com/review/rw2309229/ https://www.imdb.com/review/rw4009143/ https://www.imdb.com/review/rw7208841/ IMDB Review Texts
Cluster: 5 IMDB Review Links https://www.imdb.com/review/rw7230233/ https://www.imdb.com/review/rw7394661/ IMDB Review Texts
Cluster: 6 IMDB Review Links https://www.imdb.com/review/rw8221725/ IMDB Review Texts
Cluster: 7 IMDB Review Links https://www.imdb.com/review/rw7219673/ https://www.imdb.com/review/rw7898908/ https://www.imdb.com/review/rw7997819/ https://www.imdb.com/review/rw7547550/ IMDB Review Texts
Cluster: 8 IMDB Review Links https://www.imdb.com/review/rw4300927/ IMDB Review Texts
Cluster: 9 IMDB Review Links https://www.imdb.com/review/rw8004578/ https://www.imdb.com/review/rw3598955/ https://www.imdb.com/review/rw7736031/ https://www.imdb.com/review/rw3756090/ https://www.imdb.com/review/rw6820154/ https://www.imdb.com/review/rw3411582/ https://www.imdb.com/review/rw7098080/ https://www.imdb.com/review/rw5839124/ https://www.imdb.com/review/rw3595803/ https://www.imdb.com/review/rw3410774/ https://www.imdb.com/review/rw3564194/ https://www.imdb.com/review/rw5188355/ https://www.imdb.com/review/rw3415728/ https://www.imdb.com/review/rw3414913/ https://www.imdb.com/review/rw3727595/ https://www.imdb.com/review/rw2077072/ https://www.imdb.com/review/rw2076741/ IMDB Review Texts
Cluster: 10 IMDB Review Links https://www.imdb.com/review/rw8309971/ https://www.imdb.com/review/rw8307205/ IMDB Review Texts
Cluster: 11 IMDB Review Links https://www.imdb.com/review/rw8003034/ IMDB Review Texts
Cluster: 12 IMDB Review Links https://www.imdb.com/review/rw3419493/ IMDB Review Texts
Cluster: 13 IMDB Review Links https://www.imdb.com/review/rw8147816/ https://www.imdb.com/review/rw2715924/ IMDB Review Texts
Cluster: 14 IMDB Review Links https://www.imdb.com/review/rw8313711/ IMDB Review Texts
Cluster: 15 IMDB Review Links https://www.imdb.com/review/rw8334081/ IMDB Review Texts
Cluster: 16 IMDB Review Links https://www.imdb.com/review/rw8332897/ https://www.imdb.com/review/rw8311620/ https://www.imdb.com/review/rw8311274/ https://www.imdb.com/review/rw8524888/ https://www.imdb.com/review/rw8136044/ https://www.imdb.com/review/rw4161726/ https://www.imdb.com/review/rw5418679/ https://www.imdb.com/review/rw2079935/ https://www.imdb.com/review/rw6124126/ https://www.imdb.com/review/rw2864656/ https://www.imdb.com/review/rw2677074/ https://www.imdb.com/review/rw2085350/ https://www.imdb.com/review/rw2079109/ https://www.imdb.com/review/rw2078113/ https://www.imdb.com/review/rw2702243/ https://www.imdb.com/review/rw7248676/ IMDB Review Texts
Cluster: 17 IMDB Review Links https://www.imdb.com/review/rw8580474/ IMDB Review Texts
true_k = 60
model = KMeans(n_clusters=true_k, init='k-means++', max_iter=200, n_init=10)
model.fit(X)
labels = model.labels_
df = pd.DataFrame(list(zip(labels,plinks, texts)),columns=['cluster','permalinks','reviews'])
df.sort_values(by='cluster')
| cluster | permalinks | reviews | |
|---|---|---|---|
| 146 | 0 | https://www.imdb.com/review/rw7292882/ | I don't know how marvel did that but man this ... |
| 32 | 1 | https://www.imdb.com/review/rw8608885/ | I try to avoid watching trailers before I see ... |
| 158 | 1 | https://www.imdb.com/review/rw7227994/ | A lot of articles have been written about just... |
| 155 | 1 | https://www.imdb.com/review/rw7562236/ | Currently, about a week after its debut, "Guar... |
| 149 | 1 | https://www.imdb.com/review/rw7636810/ | When planning how I was going watch all these ... |
| ... | ... | ... | ... |
| 43 | 55 | https://www.imdb.com/review/rw7999963/ | This movie was GOLD! I enjoyed it so much, it ... |
| 96 | 56 | https://www.imdb.com/review/rw3419493/ | Super funny and I can't believe it came out 10... |
| 8 | 57 | https://www.imdb.com/review/rw8329077/ | The film fails to meet the expectations of a g... |
| 21 | 58 | https://www.imdb.com/review/rw8311274/ | The first half of this movie is really funny. ... |
| 108 | 59 | https://www.imdb.com/review/rw2079109/ | Shawn Levy's Academy Award-nominated "Free Guy... |
163 rows × 3 columns
for k in range(0,true_k):
s=df[df.cluster==k]
text=s['reviews'].str.cat(sep=' ')
text=text.lower()
text=' '.join([word for word in text.split()])
wordcloud = WordCloud(max_font_size=50, max_words=50, background_color="black").generate(text)
print('Cluster: {}'.format(k))
print('IMDB Review Links')
revs=df[df.cluster==k]['permalinks']
print(revs.to_string(index=False))
print('IMDB Review Texts')
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
Cluster: 0 IMDB Review Links https://www.imdb.com/review/rw7292882/ IMDB Review Texts
Cluster: 1 IMDB Review Links https://www.imdb.com/review/rw8608885/ https://www.imdb.com/review/rw7399273/ https://www.imdb.com/review/rw7636810/ https://www.imdb.com/review/rw7562236/ https://www.imdb.com/review/rw7227994/ IMDB Review Texts
Cluster: 2 IMDB Review Links https://www.imdb.com/review/rw8136345/ https://www.imdb.com/review/rw7293763/ https://www.imdb.com/review/rw3595803/ IMDB Review Texts
Cluster: 3 IMDB Review Links https://www.imdb.com/review/rw3598955/ https://www.imdb.com/review/rw7736031/ https://www.imdb.com/review/rw6820154/ https://www.imdb.com/review/rw3411582/ https://www.imdb.com/review/rw7098080/ https://www.imdb.com/review/rw5839124/ https://www.imdb.com/review/rw3410774/ https://www.imdb.com/review/rw3564194/ https://www.imdb.com/review/rw5188355/ https://www.imdb.com/review/rw3415728/ https://www.imdb.com/review/rw3727595/ https://www.imdb.com/review/rw2077072/ IMDB Review Texts
Cluster: 4 IMDB Review Links https://www.imdb.com/review/rw7219673/ IMDB Review Texts
Cluster: 5 IMDB Review Links https://www.imdb.com/review/rw8310329/ https://www.imdb.com/review/rw8323305/ https://www.imdb.com/review/rw8331400/ https://www.imdb.com/review/rw7207923/ IMDB Review Texts
Cluster: 6 IMDB Review Links https://www.imdb.com/review/rw7262327/ https://www.imdb.com/review/rw7230542/ https://www.imdb.com/review/rw7258075/ IMDB Review Texts
Cluster: 7 IMDB Review Links https://www.imdb.com/review/rw6971097/ IMDB Review Texts
Cluster: 8 IMDB Review Links https://www.imdb.com/review/rw8315692/ https://www.imdb.com/review/rw8318859/ https://www.imdb.com/review/rw8307205/ https://www.imdb.com/review/rw8304711/ https://www.imdb.com/review/rw8002890/ https://www.imdb.com/review/rw8136044/ https://www.imdb.com/review/rw8000197/ https://www.imdb.com/review/rw8007627/ https://www.imdb.com/review/rw8074452/ https://www.imdb.com/review/rw8136793/ https://www.imdb.com/review/rw8010549/ https://www.imdb.com/review/rw8093742/ https://www.imdb.com/review/rw5733933/ https://www.imdb.com/review/rw6118931/ https://www.imdb.com/review/rw4695639/ https://www.imdb.com/review/rw5984758/ https://www.imdb.com/review/rw6570383/ https://www.imdb.com/review/rw4150748/ https://www.imdb.com/review/rw3586681/ https://www.imdb.com/review/rw5084366/ https://www.imdb.com/review/rw8011549/ IMDB Review Texts
Cluster: 9 IMDB Review Links https://www.imdb.com/review/rw7394661/ IMDB Review Texts
Cluster: 10 IMDB Review Links https://www.imdb.com/review/rw8332897/ IMDB Review Texts
Cluster: 11 IMDB Review Links https://www.imdb.com/review/rw8221725/ IMDB Review Texts
Cluster: 12 IMDB Review Links https://www.imdb.com/review/rw7547550/ IMDB Review Texts
Cluster: 13 IMDB Review Links https://www.imdb.com/review/rw8310746/ https://www.imdb.com/review/rw8304194/ https://www.imdb.com/review/rw8312102/ https://www.imdb.com/review/rw8004578/ https://www.imdb.com/review/rw8091699/ https://www.imdb.com/review/rw8014072/ https://www.imdb.com/review/rw8153642/ https://www.imdb.com/review/rw6454784/ https://www.imdb.com/review/rw4184836/ https://www.imdb.com/review/rw4624413/ https://www.imdb.com/review/rw3413536/ https://www.imdb.com/review/rw3756090/ https://www.imdb.com/review/rw3551439/ https://www.imdb.com/review/rw3416540/ https://www.imdb.com/review/rw3414913/ https://www.imdb.com/review/rw5346447/ https://www.imdb.com/review/rw2079935/ https://www.imdb.com/review/rw2085350/ https://www.imdb.com/review/rw3740393/ https://www.imdb.com/review/rw2252940/ https://www.imdb.com/review/rw2076025/ https://www.imdb.com/review/rw6720554/ https://www.imdb.com/review/rw2260646/ https://www.imdb.com/review/rw2252934/ https://www.imdb.com/review/rw3018750/ https://www.imdb.com/review/rw7264188/ https://www.imdb.com/review/rw7235565/ https://www.imdb.com/review/rw7861137/ https://www.imdb.com/review/rw7386465/ https://www.imdb.com/review/rw7432411/ https://www.imdb.com/review/rw7237213/ https://www.imdb.com/review/rw7200780/ https://www.imdb.com/review/rw7174916/ https://www.imdb.com/review/rw7564102/ IMDB Review Texts
Cluster: 14 IMDB Review Links https://www.imdb.com/review/rw3308901/ IMDB Review Texts
Cluster: 15 IMDB Review Links https://www.imdb.com/review/rw4300927/ IMDB Review Texts
Cluster: 16 IMDB Review Links https://www.imdb.com/review/rw2677074/ IMDB Review Texts
Cluster: 17 IMDB Review Links https://www.imdb.com/review/rw8580474/ IMDB Review Texts
Cluster: 18 IMDB Review Links https://www.imdb.com/review/rw8351608/ IMDB Review Texts
Cluster: 19 IMDB Review Links https://www.imdb.com/review/rw8147816/ https://www.imdb.com/review/rw2715924/ IMDB Review Texts
Cluster: 20 IMDB Review Links https://www.imdb.com/review/rw8004095/ IMDB Review Texts
Cluster: 21 IMDB Review Links https://www.imdb.com/review/rw4174623/ https://www.imdb.com/review/rw5418679/ IMDB Review Texts
Cluster: 22 IMDB Review Links https://www.imdb.com/review/rw7233503/ IMDB Review Texts
Cluster: 23 IMDB Review Links https://www.imdb.com/review/rw8313711/ IMDB Review Texts
Cluster: 24 IMDB Review Links https://www.imdb.com/review/rw7226928/ IMDB Review Texts
Cluster: 25 IMDB Review Links https://www.imdb.com/review/rw7218212/ IMDB Review Texts
Cluster: 26 IMDB Review Links https://www.imdb.com/review/rw2078113/ IMDB Review Texts
Cluster: 27 IMDB Review Links https://www.imdb.com/review/rw7898908/ https://www.imdb.com/review/rw7997819/ IMDB Review Texts
Cluster: 28 IMDB Review Links https://www.imdb.com/review/rw7268762/ https://www.imdb.com/review/rw7204092/ IMDB Review Texts
Cluster: 29 IMDB Review Links https://www.imdb.com/review/rw7234711/ IMDB Review Texts
Cluster: 30 IMDB Review Links https://www.imdb.com/review/rw7230233/ IMDB Review Texts
Cluster: 31 IMDB Review Links https://www.imdb.com/review/rw8314433/ https://www.imdb.com/review/rw8146008/ https://www.imdb.com/review/rw4602468/ https://www.imdb.com/review/rw8516528/ https://www.imdb.com/review/rw8314382/ https://www.imdb.com/review/rw7158230/ https://www.imdb.com/review/rw4182610/ https://www.imdb.com/review/rw4064836/ https://www.imdb.com/review/rw2309229/ https://www.imdb.com/review/rw7208841/ IMDB Review Texts
Cluster: 32 IMDB Review Links https://www.imdb.com/review/rw8334081/ IMDB Review Texts
Cluster: 33 IMDB Review Links https://www.imdb.com/review/rw7999344/ IMDB Review Texts
Cluster: 34 IMDB Review Links https://www.imdb.com/review/rw8311620/ IMDB Review Texts
Cluster: 35 IMDB Review Links https://www.imdb.com/review/rw8313357/ IMDB Review Texts
Cluster: 36 IMDB Review Links https://www.imdb.com/review/rw7323151/ https://www.imdb.com/review/rw7240092/ IMDB Review Texts
Cluster: 37 IMDB Review Links https://www.imdb.com/review/rw8003034/ IMDB Review Texts
Cluster: 38 IMDB Review Links https://www.imdb.com/review/rw7336440/ IMDB Review Texts
Cluster: 39 IMDB Review Links https://www.imdb.com/review/rw8009712/ IMDB Review Texts
Cluster: 40 IMDB Review Links https://www.imdb.com/review/rw8306334/ IMDB Review Texts
Cluster: 41 IMDB Review Links https://www.imdb.com/review/rw8309971/ IMDB Review Texts
Cluster: 42 IMDB Review Links https://www.imdb.com/review/rw8524888/ IMDB Review Texts
Cluster: 43 IMDB Review Links https://www.imdb.com/review/rw7400811/ IMDB Review Texts
Cluster: 44 IMDB Review Links https://www.imdb.com/review/rw8525634/ IMDB Review Texts
Cluster: 45 IMDB Review Links https://www.imdb.com/review/rw6923557/ IMDB Review Texts
Cluster: 46 IMDB Review Links https://www.imdb.com/review/rw4161726/ IMDB Review Texts
Cluster: 47 IMDB Review Links https://www.imdb.com/review/rw8315634/ IMDB Review Texts
Cluster: 48 IMDB Review Links https://www.imdb.com/review/rw7293764/ https://www.imdb.com/review/rw4297422/ https://www.imdb.com/review/rw6981276/ https://www.imdb.com/review/rw4379195/ https://www.imdb.com/review/rw4855093/ https://www.imdb.com/review/rw4209571/ https://www.imdb.com/review/rw3415632/ https://www.imdb.com/review/rw3708156/ https://www.imdb.com/review/rw2864656/ https://www.imdb.com/review/rw2076017/ https://www.imdb.com/review/rw2076741/ https://www.imdb.com/review/rw7379951/ https://www.imdb.com/review/rw7558618/ https://www.imdb.com/review/rw7248676/ https://www.imdb.com/review/rw7224587/ IMDB Review Texts
Cluster: 49 IMDB Review Links https://www.imdb.com/review/rw8312037/ IMDB Review Texts
Cluster: 50 IMDB Review Links https://www.imdb.com/review/rw4009143/ IMDB Review Texts
Cluster: 51 IMDB Review Links https://www.imdb.com/review/rw2702243/ IMDB Review Texts
Cluster: 52 IMDB Review Links https://www.imdb.com/review/rw8093318/ IMDB Review Texts
Cluster: 53 IMDB Review Links https://www.imdb.com/review/rw6124126/ IMDB Review Texts
Cluster: 54 IMDB Review Links https://www.imdb.com/review/rw8138680/ IMDB Review Texts
Cluster: 55 IMDB Review Links https://www.imdb.com/review/rw7999963/ IMDB Review Texts
Cluster: 56 IMDB Review Links https://www.imdb.com/review/rw3419493/ IMDB Review Texts
Cluster: 57 IMDB Review Links https://www.imdb.com/review/rw8329077/ IMDB Review Texts
Cluster: 58 IMDB Review Links https://www.imdb.com/review/rw8311274/ IMDB Review Texts
Cluster: 59 IMDB Review Links https://www.imdb.com/review/rw2079109/ IMDB Review Texts